/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Trab1;

/**
 *
 * @author Hiran.Azevedo
 *
 *
 */
public class Triangulo {

    private int LadoA;
    private int LadoB;
    private int LadoC;

    public Triangulo(int LadoA, int LadoB, int LadoC) throws Exception {
        if (LadoA > 0 && LadoB > 0 && LadoC > 0) {
            if ((LadoA < LadoB + LadoC) && (LadoB < LadoA + LadoC) && (LadoC < LadoA + LadoB)) {
                this.LadoA = LadoA;
                this.LadoB = LadoB;
                this.LadoC = LadoC;
            } else {
                throw new Exception("Valores não permitidos");
            }
        } else {

            throw new Exception("Valores negativos");
        }

    }

    public int getLadoA() {
        return LadoA;
    }

    public int getLadoB() {
        return LadoB;
    }

    public int getLadoC() {
        return LadoC;

    }
    

    /**Retorna o tipo do trinagulo criado.
     *Possiveis retornos "Equilatero", "Isoceles", "Escaleno"
     * @return string com o tipo
     */
    public String verificaTipo() {
        if (ehEquilatero()) {
            return "Equilatero";
        } else if (ehIsoceles()) {
            return "Isoceles";
        } else {
            return "Escaleno";
        }
    }

    /**Retorna se o triangulo eh equilatero
     *
     * @return boolean
     */
    public boolean ehEquilatero() {
        if (LadoA == LadoB && LadoB == LadoC && LadoC == LadoA) {
            return true;
        } else {
            return false;
        }
    }
    /**Retorna se o triangulo eh Isoceles
     *
     * @return boolean
     */

    public boolean ehIsoceles() {
        if (LadoA == LadoB || LadoB == LadoC || LadoC == LadoA) {
            return true;
        } else {
            return false;
        }
    }
   

    /**Calcula o valor do perimetro do triangulo.
     *
     * @return int resultado do perimetro
     */
    public int perimetro() {
        int a = LadoA + LadoB + LadoC;
        return a;
    }

    /** Calcula a area do Triangulo criado.
     *
     * @return int com valor da area
     */
    public int area() {
        int p = perimetro() / 2;
        int area = p * (p - LadoA) * (p - LadoB) * (p - LadoC);
        area = (int) Math.sqrt(area);
        return area;

    }
}
